package cn.foolishbird.basic.step;

import java.util.List;

/**
 * @author Eric
 * @version 1.0
 * @date 2019-12-16
 */
public interface Step<T> {

    /**
     * 处理一个数据
     * 当前步多少数据
     *
     * @return void
     * @throws
     * @author Eric
     * @date 2019/12/16
     **/
    abstract void singleExecute(T t);

    /**
     * 当前步多少数据
     *
     * @return void
     * @throws
     * @author Eric
     * @date 2019/12/16
     **/
    abstract List<T> current();

    /**
     * next step
     *
     * @return void
     * @throws
     * @author Eric
     * @date 2019/12/16
     **/
    abstract void nextStep();

}
